package TagRate.project.client;

import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.Label;

/**
 * 
 * @author Jean-Lou Dupont
 *
 */
public class MessageManager {

	static Label label = null;

	static Timer timer = null;
	
	final static int DEFAULT_TIMEOUT = 10000;
	
	/*===================================================================
	 * Constructor 
	 ===================================================================*/
	protected MessageManager() {
	}
	
	/*===================================================================
	 * API 
	 ===================================================================*/
	
	public void setLabel(Label lbl) {
		label = lbl;
	}
	public void clearMessage() {
		label.setVisible(false);
		label.setText("");
	}
	/*===================================================================
	 *  
	 ===================================================================*/
	public void setMessage( String msg ) {
		
		label.setText( msg );
		
		label.setVisible(true);
		updateTimer();
	}
	
	/*===================================================================
	 * Timer 
	 ===================================================================*/
	protected void updateTimer() {

		if ( null != timer ) {
			timer.cancel();
			timer = null;
		}
		
		timer = new Timer() {
			public void run() {
				clearMessage();
			}
		};
		
		timer.schedule(DEFAULT_TIMEOUT);
	}

}//END